iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
自我挑戰組

JavaScript - 30天 - 自學挑戰系列 第 20

LeetCode Js-1929. Concatenation of Array

  • 分享至 

  • xImage
  •  

LeetCode Js-1929. Concatenation of Array

Given an integer array nums of length n, you want to create an array ans of length 2n where ans[i] == nums[i] and ans[i + n] == nums[i] for 0 <= i < n (0-indexed).
Specifically, ans is the concatenation of two nums arrays.
Return the array ans.

給予一個整數陣列 nums 和長度為 n,你想新增一個長度為 2n 的陣列 ans。
其中 ans[i] == nums[i] and ans[i + n] == nums[i] for 0 <= i < n (0-indexed).
具體來說,ans 是兩次 nums 陣列的串聯。
回傳 ans 的陣列。

Example 1:

Input: nums = [1,2,1]
Output: [1,2,1,1,2,1]
Explanation: The array ans is formed as follows:
- ans = [nums[0],nums[1],nums[2],nums[0],nums[1],nums[2]]
- ans = [1,2,1,1,2,1]

Solution:

  1. 建立 ans = []
  2. 將 for(i < 2) 迴圈執行兩次
  3. 將 for(j < nums.length)將每個 nums 的元素執行一次,並運用 .push() 放入 ans。
  4. 回傳 ans。

Code:

var getConcatenation = function(nums) {
  let ans = []

  for (let i = 0; i < 2; i++) {
    for (let j = 0; j < nums.length; j++) {
      ans.push(nums[j])
    }
  }
  return ans
}

FlowChart:
Example 1

Input: nums = [1,2,1]

step.1 
i = 0
ans.push(nums[0]) => [1]
ans.push(nums[1]) => [1, 2]
ans.push(nums[2]) => [1, 2, 1]

step.2
i = 1
ans.push(nums[0]) => [1, 2, 1, 1]
ans.push(nums[1]) => [1, 2, 1, 1, 2]
ans.push(nums[2]) => [1, 2, 1, 1, 2, 1]

return ans //[1, 2, 1, 1, 2, 1]

上一篇
LeetCode Js-58. Length of Last Word
下一篇
LeetCode Js-231. Power of Two
系列文
JavaScript - 30天 - 自學挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言